
_RX_processValues:

;rx.c,11 :: 		void RX_processValues(unsigned short *RX_interruptTimer, float *RX_values) {
;rx.c,16 :: 		RX_conversionFactor = 180.0 / RX_maxTimerValue;
	MOVLW       153
	MOVWF       RX_processValues_RX_conversionFactor_L0+0 
	MOVLW       134
	MOVWF       RX_processValues_RX_conversionFactor_L0+1 
	MOVLW       109
	MOVWF       RX_processValues_RX_conversionFactor_L0+2 
	MOVLW       126
	MOVWF       RX_processValues_RX_conversionFactor_L0+3 
;rx.c,18 :: 		for(cnt=0; cnt<7; cnt++) {
	CLRF        RX_processValues_cnt_L0+0 
L_RX_processValues0:
	MOVLW       7
	SUBWF       RX_processValues_cnt_L0+0, 0 
	BTFSC       STATUS+0, 0 
	GOTO        L_RX_processValues1
;rx.c,19 :: 		if (RX_interruptTimer[cnt] == 255) zerocross = cnt;
	MOVF        RX_processValues_cnt_L0+0, 0 
	ADDWF       FARG_RX_processValues_RX_interruptTimer+0, 0 
	MOVWF       FSR0L 
	MOVLW       0
	ADDWFC      FARG_RX_processValues_RX_interruptTimer+1, 0 
	MOVWF       FSR0H 
	MOVF        POSTINC0+0, 0 
	XORLW       255
	BTFSS       STATUS+0, 2 
	GOTO        L_RX_processValues3
	MOVF        RX_processValues_cnt_L0+0, 0 
	MOVWF       RX_processValues_zerocross_L0+0 
L_RX_processValues3:
;rx.c,18 :: 		for(cnt=0; cnt<7; cnt++) {
	INCF        RX_processValues_cnt_L0+0, 1 
;rx.c,20 :: 		}
	GOTO        L_RX_processValues0
L_RX_processValues1:
;rx.c,21 :: 		for(cnt=zerocross+1; cnt<7; cnt++) {
	MOVF        RX_processValues_zerocross_L0+0, 0 
	ADDLW       1
	MOVWF       RX_processValues_cnt_L0+0 
L_RX_processValues4:
	MOVLW       7
	SUBWF       RX_processValues_cnt_L0+0, 0 
	BTFSC       STATUS+0, 0 
	GOTO        L_RX_processValues5
;rx.c,22 :: 		if (RX_conversionFactor * RX_interruptTimer[cnt] > RX_max_value) RX_values[cnt-zerocross-1] = RX_max_value;
	MOVF        RX_processValues_cnt_L0+0, 0 
	ADDWF       FARG_RX_processValues_RX_interruptTimer+0, 0 
	MOVWF       R0 
	MOVLW       0
	ADDWFC      FARG_RX_processValues_RX_interruptTimer+1, 0 
	MOVWF       R1 
	MOVFF       R0, FSR0L
	MOVFF       R1, FSR0H
	MOVF        POSTINC0+0, 0 
	MOVWF       R0 
	CALL        _Byte2Double+0, 0
	MOVF        RX_processValues_RX_conversionFactor_L0+0, 0 
	MOVWF       R4 
	MOVF        RX_processValues_RX_conversionFactor_L0+1, 0 
	MOVWF       R5 
	MOVF        RX_processValues_RX_conversionFactor_L0+2, 0 
	MOVWF       R6 
	MOVF        RX_processValues_RX_conversionFactor_L0+3, 0 
	MOVWF       R7 
	CALL        _Mul_32x32_FP+0, 0
	MOVF        R0, 0 
	MOVWF       R4 
	MOVF        R1, 0 
	MOVWF       R5 
	MOVF        R2, 0 
	MOVWF       R6 
	MOVF        R3, 0 
	MOVWF       R7 
	MOVLW       0
	MOVWF       R0 
	MOVLW       0
	MOVWF       R1 
	MOVLW       52
	MOVWF       R2 
	MOVLW       133
	MOVWF       R3 
	CALL        _Compare_Double+0, 0
	MOVLW       1
	BTFSC       STATUS+0, 0 
	MOVLW       0
	MOVWF       R0 
	MOVF        R0, 1 
	BTFSC       STATUS+0, 2 
	GOTO        L_RX_processValues7
	MOVF        RX_processValues_zerocross_L0+0, 0 
	SUBWF       RX_processValues_cnt_L0+0, 0 
	MOVWF       R0 
	CLRF        R1 
	MOVLW       0
	SUBWFB      R1, 1 
	MOVLW       1
	SUBWF       R0, 0 
	MOVWF       R3 
	MOVLW       0
	SUBWFB      R1, 0 
	MOVWF       R4 
	MOVF        R3, 0 
	MOVWF       R0 
	MOVF        R4, 0 
	MOVWF       R1 
	RLCF        R0, 1 
	BCF         R0, 0 
	RLCF        R1, 1 
	RLCF        R0, 1 
	BCF         R0, 0 
	RLCF        R1, 1 
	MOVF        R0, 0 
	ADDWF       FARG_RX_processValues_RX_values+0, 0 
	MOVWF       FSR1L 
	MOVF        R1, 0 
	ADDWFC      FARG_RX_processValues_RX_values+1, 0 
	MOVWF       FSR1H 
	MOVLW       0
	MOVWF       POSTINC1+0 
	MOVLW       0
	MOVWF       POSTINC1+0 
	MOVLW       52
	MOVWF       POSTINC1+0 
	MOVLW       133
	MOVWF       POSTINC1+0 
	GOTO        L_RX_processValues8
L_RX_processValues7:
;rx.c,23 :: 		else if (RX_conversionFactor * RX_interruptTimer[cnt] < RX_min_value) RX_values[cnt-zerocross-1] = RX_min_value;
	MOVF        RX_processValues_cnt_L0+0, 0 
	ADDWF       FARG_RX_processValues_RX_interruptTimer+0, 0 
	MOVWF       R0 
	MOVLW       0
	ADDWFC      FARG_RX_processValues_RX_interruptTimer+1, 0 
	MOVWF       R1 
	MOVFF       R0, FSR0L
	MOVFF       R1, FSR0H
	MOVF        POSTINC0+0, 0 
	MOVWF       R0 
	CALL        _Byte2Double+0, 0
	MOVF        RX_processValues_RX_conversionFactor_L0+0, 0 
	MOVWF       R4 
	MOVF        RX_processValues_RX_conversionFactor_L0+1, 0 
	MOVWF       R5 
	MOVF        RX_processValues_RX_conversionFactor_L0+2, 0 
	MOVWF       R6 
	MOVF        RX_processValues_RX_conversionFactor_L0+3, 0 
	MOVWF       R7 
	CALL        _Mul_32x32_FP+0, 0
	MOVLW       0
	MOVWF       R4 
	MOVLW       0
	MOVWF       R5 
	MOVLW       180
	MOVWF       R6 
	MOVLW       133
	MOVWF       R7 
	CALL        _Compare_Double+0, 0
	MOVLW       1
	BTFSC       STATUS+0, 0 
	MOVLW       0
	MOVWF       R0 
	MOVF        R0, 1 
	BTFSC       STATUS+0, 2 
	GOTO        L_RX_processValues9
	MOVF        RX_processValues_zerocross_L0+0, 0 
	SUBWF       RX_processValues_cnt_L0+0, 0 
	MOVWF       R0 
	CLRF        R1 
	MOVLW       0
	SUBWFB      R1, 1 
	MOVLW       1
	SUBWF       R0, 0 
	MOVWF       R3 
	MOVLW       0
	SUBWFB      R1, 0 
	MOVWF       R4 
	MOVF        R3, 0 
	MOVWF       R0 
	MOVF        R4, 0 
	MOVWF       R1 
	RLCF        R0, 1 
	BCF         R0, 0 
	RLCF        R1, 1 
	RLCF        R0, 1 
	BCF         R0, 0 
	RLCF        R1, 1 
	MOVF        R0, 0 
	ADDWF       FARG_RX_processValues_RX_values+0, 0 
	MOVWF       FSR1L 
	MOVF        R1, 0 
	ADDWFC      FARG_RX_processValues_RX_values+1, 0 
	MOVWF       FSR1H 
	MOVLW       0
	MOVWF       POSTINC1+0 
	MOVLW       0
	MOVWF       POSTINC1+0 
	MOVLW       180
	MOVWF       POSTINC1+0 
	MOVLW       133
	MOVWF       POSTINC1+0 
	GOTO        L_RX_processValues10
L_RX_processValues9:
;rx.c,24 :: 		else RX_values[cnt-zerocross-1] = RX_conversionFactor * RX_interruptTimer[cnt];
	MOVF        RX_processValues_zerocross_L0+0, 0 
	SUBWF       RX_processValues_cnt_L0+0, 0 
	MOVWF       R0 
	CLRF        R1 
	MOVLW       0
	SUBWFB      R1, 1 
	MOVLW       1
	SUBWF       R0, 0 
	MOVWF       R3 
	MOVLW       0
	SUBWFB      R1, 0 
	MOVWF       R4 
	MOVF        R3, 0 
	MOVWF       R0 
	MOVF        R4, 0 
	MOVWF       R1 
	RLCF        R0, 1 
	BCF         R0, 0 
	RLCF        R1, 1 
	RLCF        R0, 1 
	BCF         R0, 0 
	RLCF        R1, 1 
	MOVF        R0, 0 
	ADDWF       FARG_RX_processValues_RX_values+0, 0 
	MOVWF       FLOC__RX_processValues+0 
	MOVF        R1, 0 
	ADDWFC      FARG_RX_processValues_RX_values+1, 0 
	MOVWF       FLOC__RX_processValues+1 
	MOVF        RX_processValues_cnt_L0+0, 0 
	ADDWF       FARG_RX_processValues_RX_interruptTimer+0, 0 
	MOVWF       R0 
	MOVLW       0
	ADDWFC      FARG_RX_processValues_RX_interruptTimer+1, 0 
	MOVWF       R1 
	MOVFF       R0, FSR0L
	MOVFF       R1, FSR0H
	MOVF        POSTINC0+0, 0 
	MOVWF       R0 
	CALL        _Byte2Double+0, 0
	MOVF        RX_processValues_RX_conversionFactor_L0+0, 0 
	MOVWF       R4 
	MOVF        RX_processValues_RX_conversionFactor_L0+1, 0 
	MOVWF       R5 
	MOVF        RX_processValues_RX_conversionFactor_L0+2, 0 
	MOVWF       R6 
	MOVF        RX_processValues_RX_conversionFactor_L0+3, 0 
	MOVWF       R7 
	CALL        _Mul_32x32_FP+0, 0
	MOVFF       FLOC__RX_processValues+0, FSR1L
	MOVFF       FLOC__RX_processValues+1, FSR1H
	MOVF        R0, 0 
	MOVWF       POSTINC1+0 
	MOVF        R1, 0 
	MOVWF       POSTINC1+0 
	MOVF        R2, 0 
	MOVWF       POSTINC1+0 
	MOVF        R3, 0 
	MOVWF       POSTINC1+0 
L_RX_processValues10:
L_RX_processValues8:
;rx.c,21 :: 		for(cnt=zerocross+1; cnt<7; cnt++) {
	INCF        RX_processValues_cnt_L0+0, 1 
;rx.c,26 :: 		}
	GOTO        L_RX_processValues4
L_RX_processValues5:
;rx.c,27 :: 		for(cnt=0; cnt<zerocross; cnt++) {
	CLRF        RX_processValues_cnt_L0+0 
L_RX_processValues11:
	MOVF        RX_processValues_zerocross_L0+0, 0 
	SUBWF       RX_processValues_cnt_L0+0, 0 
	BTFSC       STATUS+0, 0 
	GOTO        L_RX_processValues12
;rx.c,28 :: 		if (RX_conversionFactor * RX_interruptTimer[cnt] > RX_max_value) RX_values[cnt+6-zerocross] = RX_max_value;
	MOVF        RX_processValues_cnt_L0+0, 0 
	ADDWF       FARG_RX_processValues_RX_interruptTimer+0, 0 
	MOVWF       R0 
	MOVLW       0
	ADDWFC      FARG_RX_processValues_RX_interruptTimer+1, 0 
	MOVWF       R1 
	MOVFF       R0, FSR0L
	MOVFF       R1, FSR0H
	MOVF        POSTINC0+0, 0 
	MOVWF       R0 
	CALL        _Byte2Double+0, 0
	MOVF        RX_processValues_RX_conversionFactor_L0+0, 0 
	MOVWF       R4 
	MOVF        RX_processValues_RX_conversionFactor_L0+1, 0 
	MOVWF       R5 
	MOVF        RX_processValues_RX_conversionFactor_L0+2, 0 
	MOVWF       R6 
	MOVF        RX_processValues_RX_conversionFactor_L0+3, 0 
	MOVWF       R7 
	CALL        _Mul_32x32_FP+0, 0
	MOVF        R0, 0 
	MOVWF       R4 
	MOVF        R1, 0 
	MOVWF       R5 
	MOVF        R2, 0 
	MOVWF       R6 
	MOVF        R3, 0 
	MOVWF       R7 
	MOVLW       0
	MOVWF       R0 
	MOVLW       0
	MOVWF       R1 
	MOVLW       52
	MOVWF       R2 
	MOVLW       133
	MOVWF       R3 
	CALL        _Compare_Double+0, 0
	MOVLW       1
	BTFSC       STATUS+0, 0 
	MOVLW       0
	MOVWF       R0 
	MOVF        R0, 1 
	BTFSC       STATUS+0, 2 
	GOTO        L_RX_processValues14
	MOVLW       6
	ADDWF       RX_processValues_cnt_L0+0, 0 
	MOVWF       R0 
	CLRF        R1 
	MOVLW       0
	ADDWFC      R1, 1 
	MOVF        RX_processValues_zerocross_L0+0, 0 
	SUBWF       R0, 0 
	MOVWF       R3 
	MOVLW       0
	SUBWFB      R1, 0 
	MOVWF       R4 
	MOVF        R3, 0 
	MOVWF       R0 
	MOVF        R4, 0 
	MOVWF       R1 
	RLCF        R0, 1 
	BCF         R0, 0 
	RLCF        R1, 1 
	RLCF        R0, 1 
	BCF         R0, 0 
	RLCF        R1, 1 
	MOVF        R0, 0 
	ADDWF       FARG_RX_processValues_RX_values+0, 0 
	MOVWF       FSR1L 
	MOVF        R1, 0 
	ADDWFC      FARG_RX_processValues_RX_values+1, 0 
	MOVWF       FSR1H 
	MOVLW       0
	MOVWF       POSTINC1+0 
	MOVLW       0
	MOVWF       POSTINC1+0 
	MOVLW       52
	MOVWF       POSTINC1+0 
	MOVLW       133
	MOVWF       POSTINC1+0 
	GOTO        L_RX_processValues15
L_RX_processValues14:
;rx.c,29 :: 		else if (RX_conversionFactor * RX_interruptTimer[cnt] < RX_min_value) RX_values[cnt+6-zerocross] = RX_min_value;
	MOVF        RX_processValues_cnt_L0+0, 0 
	ADDWF       FARG_RX_processValues_RX_interruptTimer+0, 0 
	MOVWF       R0 
	MOVLW       0
	ADDWFC      FARG_RX_processValues_RX_interruptTimer+1, 0 
	MOVWF       R1 
	MOVFF       R0, FSR0L
	MOVFF       R1, FSR0H
	MOVF        POSTINC0+0, 0 
	MOVWF       R0 
	CALL        _Byte2Double+0, 0
	MOVF        RX_processValues_RX_conversionFactor_L0+0, 0 
	MOVWF       R4 
	MOVF        RX_processValues_RX_conversionFactor_L0+1, 0 
	MOVWF       R5 
	MOVF        RX_processValues_RX_conversionFactor_L0+2, 0 
	MOVWF       R6 
	MOVF        RX_processValues_RX_conversionFactor_L0+3, 0 
	MOVWF       R7 
	CALL        _Mul_32x32_FP+0, 0
	MOVLW       0
	MOVWF       R4 
	MOVLW       0
	MOVWF       R5 
	MOVLW       180
	MOVWF       R6 
	MOVLW       133
	MOVWF       R7 
	CALL        _Compare_Double+0, 0
	MOVLW       1
	BTFSC       STATUS+0, 0 
	MOVLW       0
	MOVWF       R0 
	MOVF        R0, 1 
	BTFSC       STATUS+0, 2 
	GOTO        L_RX_processValues16
	MOVLW       6
	ADDWF       RX_processValues_cnt_L0+0, 0 
	MOVWF       R0 
	CLRF        R1 
	MOVLW       0
	ADDWFC      R1, 1 
	MOVF        RX_processValues_zerocross_L0+0, 0 
	SUBWF       R0, 0 
	MOVWF       R3 
	MOVLW       0
	SUBWFB      R1, 0 
	MOVWF       R4 
	MOVF        R3, 0 
	MOVWF       R0 
	MOVF        R4, 0 
	MOVWF       R1 
	RLCF        R0, 1 
	BCF         R0, 0 
	RLCF        R1, 1 
	RLCF        R0, 1 
	BCF         R0, 0 
	RLCF        R1, 1 
	MOVF        R0, 0 
	ADDWF       FARG_RX_processValues_RX_values+0, 0 
	MOVWF       FSR1L 
	MOVF        R1, 0 
	ADDWFC      FARG_RX_processValues_RX_values+1, 0 
	MOVWF       FSR1H 
	MOVLW       0
	MOVWF       POSTINC1+0 
	MOVLW       0
	MOVWF       POSTINC1+0 
	MOVLW       180
	MOVWF       POSTINC1+0 
	MOVLW       133
	MOVWF       POSTINC1+0 
	GOTO        L_RX_processValues17
L_RX_processValues16:
;rx.c,30 :: 		else RX_values[cnt+6-zerocross] = RX_conversionFactor * (RX_interruptTimer[cnt] - RX_minTimerValue);
	MOVLW       6
	ADDWF       RX_processValues_cnt_L0+0, 0 
	MOVWF       R0 
	CLRF        R1 
	MOVLW       0
	ADDWFC      R1, 1 
	MOVF        RX_processValues_zerocross_L0+0, 0 
	SUBWF       R0, 0 
	MOVWF       R3 
	MOVLW       0
	SUBWFB      R1, 0 
	MOVWF       R4 
	MOVF        R3, 0 
	MOVWF       R0 
	MOVF        R4, 0 
	MOVWF       R1 
	RLCF        R0, 1 
	BCF         R0, 0 
	RLCF        R1, 1 
	RLCF        R0, 1 
	BCF         R0, 0 
	RLCF        R1, 1 
	MOVF        R0, 0 
	ADDWF       FARG_RX_processValues_RX_values+0, 0 
	MOVWF       FLOC__RX_processValues+0 
	MOVF        R1, 0 
	ADDWFC      FARG_RX_processValues_RX_values+1, 0 
	MOVWF       FLOC__RX_processValues+1 
	MOVF        RX_processValues_cnt_L0+0, 0 
	ADDWF       FARG_RX_processValues_RX_interruptTimer+0, 0 
	MOVWF       FSR0L 
	MOVLW       0
	ADDWFC      FARG_RX_processValues_RX_interruptTimer+1, 0 
	MOVWF       FSR0H 
	MOVLW       96
	SUBWF       POSTINC0+0, 0 
	MOVWF       R0 
	CLRF        R1 
	MOVLW       0
	SUBWFB      R1, 1 
	CALL        _Int2Double+0, 0
	MOVF        RX_processValues_RX_conversionFactor_L0+0, 0 
	MOVWF       R4 
	MOVF        RX_processValues_RX_conversionFactor_L0+1, 0 
	MOVWF       R5 
	MOVF        RX_processValues_RX_conversionFactor_L0+2, 0 
	MOVWF       R6 
	MOVF        RX_processValues_RX_conversionFactor_L0+3, 0 
	MOVWF       R7 
	CALL        _Mul_32x32_FP+0, 0
	MOVFF       FLOC__RX_processValues+0, FSR1L
	MOVFF       FLOC__RX_processValues+1, FSR1H
	MOVF        R0, 0 
	MOVWF       POSTINC1+0 
	MOVF        R1, 0 
	MOVWF       POSTINC1+0 
	MOVF        R2, 0 
	MOVWF       POSTINC1+0 
	MOVF        R3, 0 
	MOVWF       POSTINC1+0 
L_RX_processValues17:
L_RX_processValues15:
;rx.c,27 :: 		for(cnt=0; cnt<zerocross; cnt++) {
	INCF        RX_processValues_cnt_L0+0, 1 
;rx.c,32 :: 		}
	GOTO        L_RX_processValues11
L_RX_processValues12:
;rx.c,34 :: 		for(cnt=0; cnt<6; cnt++) {
	CLRF        RX_processValues_cnt_L0+0 
L_RX_processValues18:
	MOVLW       6
	SUBWF       RX_processValues_cnt_L0+0, 0 
	BTFSC       STATUS+0, 0 
	GOTO        L_RX_processValues19
;rx.c,35 :: 		switch(cnt) {    // TIP: where 1.41666 is coming from? 255/180 = 1.41666
	GOTO        L_RX_processValues21
;rx.c,36 :: 		case 2:      if (1.41666 * RX_values[cnt] > RX_max_throttle) RX_values[cnt] = RX_max_throttle;
L_RX_processValues23:
	MOVF        RX_processValues_cnt_L0+0, 0 
	MOVWF       R0 
	MOVLW       0
	MOVWF       R1 
	RLCF        R0, 1 
	BCF         R0, 0 
	RLCF        R1, 1 
	RLCF        R0, 1 
	BCF         R0, 0 
	RLCF        R1, 1 
	MOVF        R0, 0 
	ADDWF       FARG_RX_processValues_RX_values+0, 0 
	MOVWF       FSR2L 
	MOVF        R1, 0 
	ADDWFC      FARG_RX_processValues_RX_values+1, 0 
	MOVWF       FSR2H 
	MOVF        POSTINC2+0, 0 
	MOVWF       R0 
	MOVF        POSTINC2+0, 0 
	MOVWF       R1 
	MOVF        POSTINC2+0, 0 
	MOVWF       R2 
	MOVF        POSTINC2+0, 0 
	MOVWF       R3 
	MOVLW       29
	MOVWF       R4 
	MOVLW       85
	MOVWF       R5 
	MOVLW       53
	MOVWF       R6 
	MOVLW       127
	MOVWF       R7 
	CALL        _Mul_32x32_FP+0, 0
	MOVF        R0, 0 
	MOVWF       R4 
	MOVF        R1, 0 
	MOVWF       R5 
	MOVF        R2, 0 
	MOVWF       R6 
	MOVF        R3, 0 
	MOVWF       R7 
	MOVLW       0
	MOVWF       R0 
	MOVLW       0
	MOVWF       R1 
	MOVLW       127
	MOVWF       R2 
	MOVLW       134
	MOVWF       R3 
	CALL        _Compare_Double+0, 0
	MOVLW       1
	BTFSC       STATUS+0, 0 
	MOVLW       0
	MOVWF       R0 
	MOVF        R0, 1 
	BTFSC       STATUS+0, 2 
	GOTO        L_RX_processValues24
	MOVF        RX_processValues_cnt_L0+0, 0 
	MOVWF       R0 
	MOVLW       0
	MOVWF       R1 
	RLCF        R0, 1 
	BCF         R0, 0 
	RLCF        R1, 1 
	RLCF        R0, 1 
	BCF         R0, 0 
	RLCF        R1, 1 
	MOVF        R0, 0 
	ADDWF       FARG_RX_processValues_RX_values+0, 0 
	MOVWF       FSR1L 
	MOVF        R1, 0 
	ADDWFC      FARG_RX_processValues_RX_values+1, 0 
	MOVWF       FSR1H 
	MOVLW       0
	MOVWF       POSTINC1+0 
	MOVLW       0
	MOVWF       POSTINC1+0 
	MOVLW       127
	MOVWF       POSTINC1+0 
	MOVLW       134
	MOVWF       POSTINC1+0 
	GOTO        L_RX_processValues25
L_RX_processValues24:
;rx.c,37 :: 		else if (1.41666 * RX_values[cnt] < RX_min_throttle) RX_values[cnt] = RX_min_throttle;
	MOVF        RX_processValues_cnt_L0+0, 0 
	MOVWF       R0 
	MOVLW       0
	MOVWF       R1 
	RLCF        R0, 1 
	BCF         R0, 0 
	RLCF        R1, 1 
	RLCF        R0, 1 
	BCF         R0, 0 
	RLCF        R1, 1 
	MOVF        R0, 0 
	ADDWF       FARG_RX_processValues_RX_values+0, 0 
	MOVWF       FSR2L 
	MOVF        R1, 0 
	ADDWFC      FARG_RX_processValues_RX_values+1, 0 
	MOVWF       FSR2H 
	MOVF        POSTINC2+0, 0 
	MOVWF       R0 
	MOVF        POSTINC2+0, 0 
	MOVWF       R1 
	MOVF        POSTINC2+0, 0 
	MOVWF       R2 
	MOVF        POSTINC2+0, 0 
	MOVWF       R3 
	MOVLW       29
	MOVWF       R4 
	MOVLW       85
	MOVWF       R5 
	MOVLW       53
	MOVWF       R6 
	MOVLW       127
	MOVWF       R7 
	CALL        _Mul_32x32_FP+0, 0
	CLRF        R4 
	CLRF        R5 
	CLRF        R6 
	CLRF        R7 
	CALL        _Compare_Double+0, 0
	MOVLW       1
	BTFSC       STATUS+0, 0 
	MOVLW       0
	MOVWF       R0 
	MOVF        R0, 1 
	BTFSC       STATUS+0, 2 
	GOTO        L_RX_processValues26
	MOVF        RX_processValues_cnt_L0+0, 0 
	MOVWF       R0 
	MOVLW       0
	MOVWF       R1 
	RLCF        R0, 1 
	BCF         R0, 0 
	RLCF        R1, 1 
	RLCF        R0, 1 
	BCF         R0, 0 
	RLCF        R1, 1 
	MOVF        R0, 0 
	ADDWF       FARG_RX_processValues_RX_values+0, 0 
	MOVWF       FSR1L 
	MOVF        R1, 0 
	ADDWFC      FARG_RX_processValues_RX_values+1, 0 
	MOVWF       FSR1H 
	CLRF        POSTINC1+0 
	CLRF        POSTINC1+0 
	CLRF        POSTINC1+0 
	CLRF        POSTINC1+0 
	GOTO        L_RX_processValues27
L_RX_processValues26:
;rx.c,38 :: 		else RX_values[cnt] = 1.41666 * RX_values[2];
	MOVF        RX_processValues_cnt_L0+0, 0 
	MOVWF       R0 
	MOVLW       0
	MOVWF       R1 
	RLCF        R0, 1 
	BCF         R0, 0 
	RLCF        R1, 1 
	RLCF        R0, 1 
	BCF         R0, 0 
	RLCF        R1, 1 
	MOVF        R0, 0 
	ADDWF       FARG_RX_processValues_RX_values+0, 0 
	MOVWF       FLOC__RX_processValues+0 
	MOVF        R1, 0 
	ADDWFC      FARG_RX_processValues_RX_values+1, 0 
	MOVWF       FLOC__RX_processValues+1 
	MOVLW       8
	ADDWF       FARG_RX_processValues_RX_values+0, 0 
	MOVWF       FSR2L 
	MOVLW       0
	ADDWFC      FARG_RX_processValues_RX_values+1, 0 
	MOVWF       FSR2H 
	MOVF        POSTINC2+0, 0 
	MOVWF       R0 
	MOVF        POSTINC2+0, 0 
	MOVWF       R1 
	MOVF        POSTINC2+0, 0 
	MOVWF       R2 
	MOVF        POSTINC2+0, 0 
	MOVWF       R3 
	MOVLW       29
	MOVWF       R4 
	MOVLW       85
	MOVWF       R5 
	MOVLW       53
	MOVWF       R6 
	MOVLW       127
	MOVWF       R7 
	CALL        _Mul_32x32_FP+0, 0
	MOVFF       FLOC__RX_processValues+0, FSR1L
	MOVFF       FLOC__RX_processValues+1, FSR1H
	MOVF        R0, 0 
	MOVWF       POSTINC1+0 
	MOVF        R1, 0 
	MOVWF       POSTINC1+0 
	MOVF        R2, 0 
	MOVWF       POSTINC1+0 
	MOVF        R3, 0 
	MOVWF       POSTINC1+0 
L_RX_processValues27:
L_RX_processValues25:
;rx.c,39 :: 		break;
	GOTO        L_RX_processValues22
;rx.c,40 :: 		default:     RX_values[cnt] -= 90;
L_RX_processValues28:
	MOVF        RX_processValues_cnt_L0+0, 0 
	MOVWF       R0 
	MOVLW       0
	MOVWF       R1 
	RLCF        R0, 1 
	BCF         R0, 0 
	RLCF        R1, 1 
	RLCF        R0, 1 
	BCF         R0, 0 
	RLCF        R1, 1 
	MOVF        R0, 0 
	ADDWF       FARG_RX_processValues_RX_values+0, 0 
	MOVWF       FLOC__RX_processValues+0 
	MOVF        R1, 0 
	ADDWFC      FARG_RX_processValues_RX_values+1, 0 
	MOVWF       FLOC__RX_processValues+1 
	MOVFF       FLOC__RX_processValues+0, FSR0L
	MOVFF       FLOC__RX_processValues+1, FSR0H
	MOVF        POSTINC0+0, 0 
	MOVWF       R0 
	MOVF        POSTINC0+0, 0 
	MOVWF       R1 
	MOVF        POSTINC0+0, 0 
	MOVWF       R2 
	MOVF        POSTINC0+0, 0 
	MOVWF       R3 
	MOVLW       0
	MOVWF       R4 
	MOVLW       0
	MOVWF       R5 
	MOVLW       52
	MOVWF       R6 
	MOVLW       133
	MOVWF       R7 
	CALL        _Sub_32x32_FP+0, 0
	MOVFF       FLOC__RX_processValues+0, FSR1L
	MOVFF       FLOC__RX_processValues+1, FSR1H
	MOVF        R0, 0 
	MOVWF       POSTINC1+0 
	MOVF        R1, 0 
	MOVWF       POSTINC1+0 
	MOVF        R2, 0 
	MOVWF       POSTINC1+0 
	MOVF        R3, 0 
	MOVWF       POSTINC1+0 
;rx.c,41 :: 		break;
	GOTO        L_RX_processValues22
;rx.c,42 :: 		}
L_RX_processValues21:
	MOVF        RX_processValues_cnt_L0+0, 0 
	XORLW       2
	BTFSC       STATUS+0, 2 
	GOTO        L_RX_processValues23
	GOTO        L_RX_processValues28
L_RX_processValues22:
;rx.c,34 :: 		for(cnt=0; cnt<6; cnt++) {
	INCF        RX_processValues_cnt_L0+0, 1 
;rx.c,43 :: 		}
	GOTO        L_RX_processValues18
L_RX_processValues19:
;rx.c,44 :: 		}
	RETURN      0
; end of _RX_processValues

_RX_applyThrottleToMotors:

;rx.c,46 :: 		void RX_applyThrottleToMotors(float *RX_values, unsigned short *MOTORS_speed) {
;rx.c,49 :: 		for(cnt=0; cnt<3; cnt++) {
	CLRF        RX_applyThrottleToMotors_cnt_L0+0 
L_RX_applyThrottleToMotors29:
	MOVLW       3
	SUBWF       RX_applyThrottleToMotors_cnt_L0+0, 0 
	BTFSC       STATUS+0, 0 
	GOTO        L_RX_applyThrottleToMotors30
;rx.c,50 :: 		if (RX_throttleFactor * RX_values[2] > MOTORS_max_speed ) MOTORS_speed[cnt] = MOTORS_max_speed ;
	MOVLW       8
	ADDWF       FARG_RX_applyThrottleToMotors_RX_values+0, 0 
	MOVWF       FSR2L 
	MOVLW       0
	ADDWFC      FARG_RX_applyThrottleToMotors_RX_values+1, 0 
	MOVWF       FSR2H 
	MOVF        POSTINC2+0, 0 
	MOVWF       R0 
	MOVF        POSTINC2+0, 0 
	MOVWF       R1 
	MOVF        POSTINC2+0, 0 
	MOVWF       R2 
	MOVF        POSTINC2+0, 0 
	MOVWF       R3 
	MOVLW       102
	MOVWF       R4 
	MOVLW       102
	MOVWF       R5 
	MOVLW       102
	MOVWF       R6 
	MOVLW       126
	MOVWF       R7 
	CALL        _Mul_32x32_FP+0, 0
	MOVF        R0, 0 
	MOVWF       R4 
	MOVF        R1, 0 
	MOVWF       R5 
	MOVF        R2, 0 
	MOVWF       R6 
	MOVF        R3, 0 
	MOVWF       R7 
	MOVLW       0
	MOVWF       R0 
	MOVLW       0
	MOVWF       R1 
	MOVLW       122
	MOVWF       R2 
	MOVLW       134
	MOVWF       R3 
	CALL        _Compare_Double+0, 0
	MOVLW       1
	BTFSC       STATUS+0, 0 
	MOVLW       0
	MOVWF       R0 
	MOVF        R0, 1 
	BTFSC       STATUS+0, 2 
	GOTO        L_RX_applyThrottleToMotors32
	MOVF        RX_applyThrottleToMotors_cnt_L0+0, 0 
	ADDWF       FARG_RX_applyThrottleToMotors_MOTORS_speed+0, 0 
	MOVWF       FSR1L 
	MOVLW       0
	ADDWFC      FARG_RX_applyThrottleToMotors_MOTORS_speed+1, 0 
	MOVWF       FSR1H 
	MOVLW       250
	MOVWF       POSTINC1+0 
	GOTO        L_RX_applyThrottleToMotors33
L_RX_applyThrottleToMotors32:
;rx.c,51 :: 		else if (RX_throttleFactor * RX_values[2] < MOTORS_min_speed ) MOTORS_speed[cnt] = MOTORS_min_speed ;
	MOVLW       8
	ADDWF       FARG_RX_applyThrottleToMotors_RX_values+0, 0 
	MOVWF       FSR2L 
	MOVLW       0
	ADDWFC      FARG_RX_applyThrottleToMotors_RX_values+1, 0 
	MOVWF       FSR2H 
	MOVF        POSTINC2+0, 0 
	MOVWF       R0 
	MOVF        POSTINC2+0, 0 
	MOVWF       R1 
	MOVF        POSTINC2+0, 0 
	MOVWF       R2 
	MOVF        POSTINC2+0, 0 
	MOVWF       R3 
	MOVLW       102
	MOVWF       R4 
	MOVLW       102
	MOVWF       R5 
	MOVLW       102
	MOVWF       R6 
	MOVLW       126
	MOVWF       R7 
	CALL        _Mul_32x32_FP+0, 0
	MOVLW       0
	MOVWF       R4 
	MOVLW       0
	MOVWF       R5 
	MOVLW       32
	MOVWF       R6 
	MOVLW       131
	MOVWF       R7 
	CALL        _Compare_Double+0, 0
	MOVLW       1
	BTFSC       STATUS+0, 0 
	MOVLW       0
	MOVWF       R0 
	MOVF        R0, 1 
	BTFSC       STATUS+0, 2 
	GOTO        L_RX_applyThrottleToMotors34
	MOVF        RX_applyThrottleToMotors_cnt_L0+0, 0 
	ADDWF       FARG_RX_applyThrottleToMotors_MOTORS_speed+0, 0 
	MOVWF       FSR1L 
	MOVLW       0
	ADDWFC      FARG_RX_applyThrottleToMotors_MOTORS_speed+1, 0 
	MOVWF       FSR1H 
	MOVLW       20
	MOVWF       POSTINC1+0 
	GOTO        L_RX_applyThrottleToMotors35
L_RX_applyThrottleToMotors34:
;rx.c,52 :: 		else MOTORS_speed[cnt] += RX_throttleFactor * RX_values[2];
	MOVF        RX_applyThrottleToMotors_cnt_L0+0, 0 
	ADDWF       FARG_RX_applyThrottleToMotors_MOTORS_speed+0, 0 
	MOVWF       FLOC__RX_applyThrottleToMotors+4 
	MOVLW       0
	ADDWFC      FARG_RX_applyThrottleToMotors_MOTORS_speed+1, 0 
	MOVWF       FLOC__RX_applyThrottleToMotors+5 
	MOVLW       8
	ADDWF       FARG_RX_applyThrottleToMotors_RX_values+0, 0 
	MOVWF       FSR2L 
	MOVLW       0
	ADDWFC      FARG_RX_applyThrottleToMotors_RX_values+1, 0 
	MOVWF       FSR2H 
	MOVF        POSTINC2+0, 0 
	MOVWF       R0 
	MOVF        POSTINC2+0, 0 
	MOVWF       R1 
	MOVF        POSTINC2+0, 0 
	MOVWF       R2 
	MOVF        POSTINC2+0, 0 
	MOVWF       R3 
	MOVLW       102
	MOVWF       R4 
	MOVLW       102
	MOVWF       R5 
	MOVLW       102
	MOVWF       R6 
	MOVLW       126
	MOVWF       R7 
	CALL        _Mul_32x32_FP+0, 0
	MOVF        R0, 0 
	MOVWF       FLOC__RX_applyThrottleToMotors+0 
	MOVF        R1, 0 
	MOVWF       FLOC__RX_applyThrottleToMotors+1 
	MOVF        R2, 0 
	MOVWF       FLOC__RX_applyThrottleToMotors+2 
	MOVF        R3, 0 
	MOVWF       FLOC__RX_applyThrottleToMotors+3 
	MOVFF       FLOC__RX_applyThrottleToMotors+4, FSR0L
	MOVFF       FLOC__RX_applyThrottleToMotors+5, FSR0H
	MOVF        POSTINC0+0, 0 
	MOVWF       R0 
	CALL        _Byte2Double+0, 0
	MOVF        FLOC__RX_applyThrottleToMotors+0, 0 
	MOVWF       R4 
	MOVF        FLOC__RX_applyThrottleToMotors+1, 0 
	MOVWF       R5 
	MOVF        FLOC__RX_applyThrottleToMotors+2, 0 
	MOVWF       R6 
	MOVF        FLOC__RX_applyThrottleToMotors+3, 0 
	MOVWF       R7 
	CALL        _Add_32x32_FP+0, 0
	CALL        _Double2Byte+0, 0
	MOVFF       FLOC__RX_applyThrottleToMotors+4, FSR1L
	MOVFF       FLOC__RX_applyThrottleToMotors+5, FSR1H
	MOVF        R0, 0 
	MOVWF       POSTINC1+0 
L_RX_applyThrottleToMotors35:
L_RX_applyThrottleToMotors33:
;rx.c,49 :: 		for(cnt=0; cnt<3; cnt++) {
	INCF        RX_applyThrottleToMotors_cnt_L0+0, 1 
;rx.c,53 :: 		}
	GOTO        L_RX_applyThrottleToMotors29
L_RX_applyThrottleToMotors30:
;rx.c,54 :: 		}
	RETURN      0
; end of _RX_applyThrottleToMotors
